package com.tangbao.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * 功能:
 * 作者: zhouxin
 * 日期: 2017/12/15
 */
public class FileUtil {


    /**
     * 上传文件
     * @param fileDir  要保存的目录名称
     * @param file  要保存的目标文件
     * @return oldFileName(原文件名),newfilseName(新生成的文件名),newFileDir(文件所在的地址[相对地址])
     */
    public static Map<String,String> saveFile(String fileDir,MultipartFile file) throws IOException {
        Map<String,String> resultMap = new HashMap<String, String>();

        //获取文件名称
        String oldFileName = file.getOriginalFilename();

        //新文件名称
        String[] files = oldFileName.split("\\.");
        String newfilseName = IDGenerate.getId()+"."+files[files.length-1];

        //判断目录是否存在,如果不存在就创建
        File f = new File(fileDir);
        if(!f.exists() && !f.isDirectory()) {
            f.mkdirs();
        }

        //保存目标文件
        //File.separator对应不同操作系统下的"/"
        String newFileDir = fileDir+File.separator+newfilseName;
        file.transferTo(new File(newFileDir));

        //原始文件名
        resultMap.put("oldFileName",oldFileName);
        //新文件名
        resultMap.put("newfilseName",newfilseName);
        //文件路径
        resultMap.put("newFileDir",newFileDir);

        return resultMap;
    }




}
